home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / rfc / rfcxxxx / rfc1681 < prev    next >
Text File  |  1995-07-26  |  12KB  |  284 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        S. Bellovin
  8. Request for Comments: 1681                        AT&T Bell Laboratories
  9. Category: Informational                                      August 1994
  10.  
  11.  
  12.                        On Many Addresses per Host
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  This memo
  17.    does not specify an Internet standard of any kind.  Distribution of
  18.    this memo is unlimited.
  19.  
  20. Abstract
  21.  
  22.    This document was submitted to the IETF IPng area in response to RFC
  23.    1550.  Publication of this document does not imply acceptance by the
  24.    IPng area of any ideas expressed within.  Comments should be
  25.    submitted to the big-internet@munnari.oz.au mailing list.
  26.  
  27. Overview and Rational
  28.  
  29.    Currently, most hosts have only one address.  With comparatively rare
  30.    exceptions, hosts as hosts -- as opposed to hosts acting as routers
  31.    or PPP servers -- are single-homed.  Our address space calculations
  32.    reflect this; we are assuming that we can estimate the size of the
  33.    address space by counting hosts.  But this may be a serious error.  I
  34.    suggest that that model may -- and should -- change.
  35.  
  36.    For the ideas outlined below, I do not claim that multiple addresses
  37.    per host is the only or even necessarily the best way to accomplish
  38.    the goal.  I do claim that my ideas are at the very least plausible,
  39.    and that I expect that many of them will be tried.
  40.  
  41. Encoding Services
  42.  
  43.    More and more often, services are being encoded in the host name.
  44.    One can fetch files from ftp.research.att.com, look up an IP address
  45.    on ns.uu.net, synchronize clocks from ntp.udel.edu, etc.  Should this
  46.    practice be generalized to the IP address domain?
  47.  
  48.    In some cases it would be a very good idea.  Certain services need to
  49.    be configured by IP address; they are either used when the DNS is
  50.    being bootstrapped (such as in glue records and root server cache
  51.    records), or when its unavailable (i.e., when booting after a power
  52.    hit, and the local name servers are slower to reboot than their
  53.    diskless clients.
  54.  
  55.  
  56.  
  57.  
  58. Bellovin                                                        [Page 1]
  59.  
  60. RFC 1681               On Many Addresses per Host            August 1994
  61.  
  62.  
  63.    Security is another reason, in some cases.  Address-based
  64.    authentication is bad enough; relying on the name service adds
  65.    another layer of risk.  An attacker can go after the DNS, in that
  66.    case.  A risk-averse system manager might prefer to avoid the extra
  67.    exposure, instead granting privileges (i.e., rlogin or NFS) by
  68.    address instead of name.  But that, of course, leads to all the usual
  69.    headaches when the location of the service changes.  If the address
  70.    for the service could be held constant, there would be much more
  71.    freedom to move it to another machine.  One way to do that is by
  72.    assigning the serving host a secondary address.
  73.  
  74.    A related notion comes from the need to offer different views of a
  75.    service from a single host.  For example, research.att.com has long
  76.    offered two distinct FTP archives, with slightly different access
  77.    policies.  It would be nice if both could live on the same machine,
  78.    without asking the user community to learn new protocols or custom
  79.    port numbers.
  80.  
  81.    Archie is an even better example.  There are three principal ways to
  82.    use Archie:  use a special protocol, and hence a special application
  83.    program, on a dedicated port and host that is probably named
  84.    archie.foo.bar; telnet to archie.foo.bar and go through an extra and
  85.    gratuitous login as archie, or telnet to some special port on
  86.    archie.foo.bar.  The latter two are examples of using a standard
  87.    protocol (telnet) to offer a different service.  Neither alternative
  88.    is very convenient.
  89.  
  90.    It would be better if archie.foo.bar provided the Archie service,
  91.    while host.foo.bar provided a login prompt.  Again -- an easy way to
  92.    do this is to assign the host a separate IP address for its extra
  93.    service.
  94.  
  95.    Note that there are security advantages here, too.  A firewall could
  96.    be configured to allow access to the address associated with the
  97.    Archie server, but not the other addresses on that host.  That would
  98.    provide a high degree of safety, assuming, of course, that the other
  99.    servers on that host were bound to its primary addresses, and not the
  100.    exposed address.
  101.  
  102.    Another way to implement this concept would be to extend the DNS, to
  103.    return port number information as well as IP addresses.  Thus,
  104.    netlib.att.com might return 192.20.225.3/221.  But that would
  105.    necessitate changing every FTP client program, a daunting task.
  106.  
  107.    We could also look on this as the extension of the MX concept.  MX
  108.    records are very valuable, but they apply only to mail, and they
  109.    don't supply port numbers.  Again, changing this would require
  110.    massive client program changes.
  111.  
  112.  
  113.  
  114. Bellovin                                                        [Page 2]
  115.  
  116. RFC 1681               On Many Addresses per Host            August 1994
  117.  
  118.  
  119. Accounting and Billing
  120.  
  121.    For better or worse, some parts of the Internet are moving towards
  122.    usage-sensitive charging.  At least four charging schemes seem
  123.    possible; doubtless, the marketeers in charge of such things can and
  124.    will come up with more.
  125.  
  126.    The first is the traditional "pay as you go" approach.  Each host is
  127.    responsible for its own packets.  Of course, that means that in a
  128.    typical conversation, both parties pay -- and the providers of free
  129.    FTP archives will end up paying dearly for their beneficence.  That
  130.    leads to our second model:  caller pays.  Other people might want to
  131.    make collect calls, much as is done on the telephone today.  Finally,
  132.    there might be the equivalent of American "900" numbers:  the caller
  133.    pays a premium to the server.
  134.  
  135.    This is not at all far-fetched; UUNET already has a 900 number for
  136.    anonymous uucp clients.  No need to register in advance; just dial
  137.    in, and let the phone company act as your agent.
  138.  
  139.    Given all these schemes, it is vital that the caller and recipient
  140.    know in advance who will pay.  It is not acceptable for users to
  141.    learn, only after the fact, that they have incurred a cost.  We could
  142.    envision use of IP options, but again, that would preclude use of
  143.    today's standard clients.
  144.  
  145.    It is not sufficient to present a message at connection time warning
  146.    of the charges.  Many interactions do not provide a hook for user
  147.    interaction.  And there are security concerns -- suppose that someone
  148.    puts up a gopher server that redirects a caller to some pay-to-play
  149.    address, without displaying the required warning.  A scam?  Sure --
  150.    but it's already happened with the phone network, and I see no reason
  151.    to think that the Internet will be far behind.
  152.  
  153.    My suggestion, of course, is to encode the charge algorithm in the
  154.    destination address (and perhaps in the DNS name space as well).  The
  155.    bits themselves would determine who pays.  Organizational border
  156.    routers could implement policies on pay services; the anonymous
  157.    workstations in a dorm computer lab wouldn't be allowed to call
  158.    collect.
  159.  
  160.    An extension of this scheme would use a comparatively large number of
  161.    bits, letting the address act not just as a policy indicator, but
  162.    also as an index to a charge algorithm table.
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Bellovin                                                        [Page 3]
  171.  
  172. RFC 1681               On Many Addresses per Host            August 1994
  173.  
  174.  
  175. Addresses per User
  176.  
  177.    It may be useful to assign each user on a host a separate IP address,
  178.    for the duration of the login session.  This has a number of
  179.    advantages.
  180.  
  181.    The first ties in with the charging scheme given above.  Usage-
  182.    sensitive accounting today is done by routers, and they have no
  183.    notion of who is using the hosts.  If each user had a separate IP
  184.    address, we could continue to gather the accounting data at the
  185.    router.  The host would simply have to record the address
  186.    assignments; billing could be done offline.
  187.  
  188.    Similarly, different classes of users could have different forms of
  189.    addresses.  Those with hard-money accounts might have some bits set
  190.    in the address that would allow for access to costly services.  The
  191.    border routers could make this sort of distinction, using today's
  192.    technology.
  193.  
  194.    An IP address per user also fits in well with encryption.  There is a
  195.    lot of attention today focused on network-layer encryption.  But that
  196.    provides host-level granularity of protection, which is sometimes
  197.    insufficient.  Transport-layer encryptors provide finer-grained
  198.    protection, but does the Internet need two different low-level
  199.    encryption schemes?  If each user had a separate IP address -- and
  200.    perhaps had it only on hosts that cared about such matters -- we
  201.    could provide user-level protection and accounability, with the same
  202.    infrastructure used to support host-level accountability.
  203.  
  204. Low-Grade Mobility
  205.  
  206.    There are several schemes under discussion for mobile IP hosts.
  207.    These are aimed at a fairly general model of hosts moving anywhere.
  208.    While that is important, there is also some need for limited
  209.    mobility, within a subnet.  This could be used for load-balancing.  A
  210.    mail relay that had just been asked to send a large message to a huge
  211.    mailing list could offload some of its IP addresses to its peers.
  212.    That would divert future incoming messages without invalidating
  213.    thousands of cached MX records and their associated IP addresses.
  214.    Similarly, servers for low-speed X terminals could reside on
  215.    different physical machines, all the while not disturbing sessions in
  216.    progress.
  217.  
  218. Merging Subnets
  219.  
  220.    There has long been some need to merge subnets.  Sometimes this is
  221.    due to organizational changes; other times, people have installed
  222.    bridges when routers would have been a more appropriate choice.  Some
  223.  
  224.  
  225.  
  226. Bellovin                                                        [Page 4]
  227.  
  228. RFC 1681               On Many Addresses per Host            August 1994
  229.  
  230.  
  231.    hosts need to live on both logical networks at once, to avoid an
  232.    extra hop through a router.  It would be useful to be able to assign
  233.    them such addresses.
  234.  
  235. How Many Addresses Do We Need?
  236.  
  237.    Assuming that some of these ideas bear fruit, how many addresses do
  238.    we need, per host?
  239.  
  240.    Most of these schemes are fairly cheap.  Few people would offer more
  241.    than a handful of distinct service views per system.  But the
  242.    address-per-user notion could be quite costly.  We also have to
  243.    account for address mask assignment policies.  In many of today's
  244.    networks, enough bits of host address have to be allocated to allow
  245.    for the largest subnet in an organization.  Even if we assume that
  246.    IPng's routing protocols will be smarter about such things, foresight
  247.    in address allocation will be needed to allow headroom for some
  248.    networks to grow, while still maintaining a contiguous netmask.  This
  249.    in turn will contribute to sparse utilization of the address space.
  250.    Accordingly, I recommend that we allow for 2^6, and perhaps as many
  251.    as 2^8, extra addresses per host, to leave room for the ideas
  252.    presented here.
  253.  
  254.    I should note that the idea of encoding the service in the transport
  255.    address bears some relation to OSI's model.  That similarity should
  256.    not, of course, invalidate the idea.
  257.  
  258. Acknowledgements
  259.  
  260.    Some of these ideas were derived from conversations with Matt Blaze.
  261.  
  262. Security Considerations
  263.  
  264.    Security issues are discussed throughout this memo.
  265.  
  266. Author's Address
  267.  
  268.    Steven M. Bellovin
  269.    Software Engineering Research Department
  270.    AT&T Bell Laboratories
  271.    600 Mountain Avenue
  272.    Murray Hill, NJ  07974, USA
  273.  
  274.    Phone: +1 908-582-5886
  275.    Fax: +1 908-582-3063
  276.    EMail:  smb@research.att.com
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Bellovin                                                        [Page 5]
  283.  
  284.